# 组包: 将多个数据自动合并为一个数据的过程
def func1():
    return 1, 2, 3


a = func1()

print(a)  # (1, 2, 3)
print('-----------------------------')

# 拆包: 将一个数据自动拆分为多个数据的过程

# 定义变量时,可以一次性给多个变量赋值
num1, num2 = (1, 2)
print(num1, num2)  # 1 2

print('-----------------------------')
# 注意: 所有的容器都可以拆包
# 集合类型数据拆包后数据的顺序不一定
a1, a2 = {'Bob', 'Tom'}
print(a1, a2)  # Tom Bob
# 字典类型数据,拆包后获取的是字典的键
d1, d2 = {'a': 1, 'b': 2}
print(d1, d2)  # a b

print('-----------------------------')
dict1 = {'a': 1, 'b': 2}
# 此处key,value接收数据也是拆包的过程
for key, value in dict1.items():
    print(key, value)

print('-----------------------------')
# 组包和拆包的同时应用
v1 = 1
v2 = 2
# 需求: 将v1和v2数据互换
v1, v2 = v2, v1

print(v1, v2) # 2 1
